 /**
 * @(#) StartupCommand.as
 *
 * @date		2009. 02. 25.
 * @version		1.0
 * @author		Shin, Yunwoo
 * @description	Application 시작을 처리하는 Command
 * 				 
 */
package com.skt.common_hr.biztrip_nos.controller
{
	
	import com.skt.common_hr.biztrip_nos.model.BizTripBudgetProxy;
	import com.skt.common_hr.biztrip_nos.model.BizTripCodesProxy;
	import com.skt.common_hr.biztrip_nos.model.BizTripListProxy;
	import com.skt.common_hr.biztrip_nos.model.CompanyCreditCardProxy;
	import com.skt.common_hr.biztrip_nos.model.DailyApprovalProxy;
	import com.skt.common_hr.biztrip_nos.model.DailyBizTripProxy;
	import com.skt.common_hr.biztrip_nos.model.DailyCostProxy;
	import com.skt.common_hr.biztrip_nos.model.DomesticApprovalProxy;
	import com.skt.common_hr.biztrip_nos.model.DomesticBizTripProxy;
	import com.skt.common_hr.biztrip_nos.model.ExchangeRateProxy;
	import com.skt.common_hr.biztrip_nos.model.ForeignApprovalProxy;
	import com.skt.common_hr.biztrip_nos.model.ForeignBizTripProxy;
	import com.skt.common_hr.biztrip_nos.model.GasCostProxy;
	import com.skt.common_hr.biztrip_nos.model.NoteUrlProxy;
	import com.skt.common_hr.biztrip_nos.model.OrgProxy;
	import com.skt.common_hr.biztrip_nos.view.BizTripMediator;
	
	import org.puremvc.as3.multicore.interfaces.ICommand;
	import org.puremvc.as3.multicore.interfaces.INotification;
	import org.puremvc.as3.multicore.patterns.command.SimpleCommand;
	
	public class StartupCommand extends SimpleCommand implements ICommand
	{
		
		override public function execute(note:INotification):void
		{
			var app:BizTripNos = note.getBody() as BizTripNos
			trace("execute startupCommand in BizTrip");
			
			facade.registerProxy(new BizTripListProxy());
			facade.registerProxy(new DailyBizTripProxy());
			facade.registerProxy(new DailyApprovalProxy());
			facade.registerProxy(new DomesticBizTripProxy());
			facade.registerProxy(new DomesticApprovalProxy());
			facade.registerProxy(new ForeignBizTripProxy());
			facade.registerProxy(new ForeignApprovalProxy());
			facade.registerProxy(new DailyCostProxy());
			facade.registerProxy(new OrgProxy());
			facade.registerProxy(new CompanyCreditCardProxy());
			facade.registerProxy(new GasCostProxy());
			facade.registerProxy(new BizTripBudgetProxy());
			facade.registerProxy(new NoteUrlProxy());
			facade.registerProxy(new ExchangeRateProxy());
			var codesProxy:BizTripCodesProxy = new BizTripCodesProxy();
			facade.registerProxy(codesProxy);
			codesProxy.load();
			
			// MVC 모델중 View와 관련한 mediator들을 등록한다.
			facade.registerMediator(new BizTripMediator(app.view));
		}
	}
}